/*
    <one line to give the program's name and a brief idea of what it does.>
    Copyright (C) <year>  <name of author>

    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 2 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License along
    with this program; if not, write to the Free Software Foundation, Inc.,
    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.

*/

#ifndef DRAW_HITRECORD_H
#define DRAW_HITRECORD_H

namespace object{
  class Plane;
};

namespace draw {

class HitRecord
{
  public:
    HitRecord(){;}
    ~HitRecord(){;}
    
    inline float alpha(){return m_alpha;}
    inline float beta(){return m_beta;}
    inline float gamma(){return m_gamma;}
    inline float t(){return m_t;}
    inline object::Plane * getPlane(){return m_plane;}
    
    inline void setAlpha(float val){m_alpha = val;}
    inline void setBeta(float val){m_beta = val;}
    inline void setGamma(float val){m_gamma = val;}
    inline void setT(float val){m_t = val;}
    inline void setPlane(object::Plane * val){m_plane = val;}
    
  private:
    float m_alpha;
    float m_beta;
    float m_gamma;
    
    float m_t;
    
    object::Plane * m_plane;
};

}

#endif // DRAW_HITRECORD_H
